perm filename PASS6[901,BGB] blob
sn#129565 filedate 1974-11-12 generic text, type T, neo UTF8
00100 ;OUTPUT TO ARDS & BYPASS
00200 TITLE PASS6
00300 EXTERNAL INPUT6,INPUT3,NUMTRI
00400 INTERNAL PASS6,BYPASS
00500 OPDEF OUTCHR[XWD 51040,0]
00600 ;ACCUMULATORS
00700 P←1
00800 X←2
00900 Y←3
01000 X2←4
01100 Y2←5
01200 A←6
01300 FLAG←7
01400 PASS6: 0
01500 MOVE P,INPUT6
01600 LOOP2: SETZM FLAG
01700 LOOP: AOBJP P,EXIT6
01800 OUTCHR [35] ;DOT
01900 HLRE X,(P)
02000 JSR ARDS
02100 HRRE X,(P)
02200 JSR ARDS
02300 OUTCHR [36] ;VECTOR
02400 AOBJP P,EXIT6
02500
02600 HLRE X,(P)
02700 HRRE Y,(P)
02800 MOVM A,X
02900 CAIL A,2000
03000 JSR TWOVEC
03100 MOVM A,Y
03200 CAIL A,2000
03300 JSR TWOVEC
03400 JSR ARDS
03410 MOVE X,Y
03420 JSR ARDS
03500 JUMPE FLAG,LOOP
03600 MOVE X,X2
03700 JSR ARDS
03800 MOVE X,Y2
03900 JSR ARDS
04000 JRST LOOP2
04100
04200 TWOVEC: 0
04300 SETOM FLAG
04400 MOVE X2,X
04500 MOVE Y2,Y
04600 ASH X,-1
04700 ASH Y,-1
04800 SUB X2,X
04900 SUB Y2,Y
05000 JRST @TWOVEC
05100 EXIT6: OUTCHR [15]
05200 JRST @PASS6
00100 ARDS: 0
00200 MOVM A,X
00300 ASH A,1
00400 SKIPGE X
00500 TRO A,1 ;SIGN BIT
00600 ANDI A,77
00700 IORI A,100
00800 OUTCHR A
00900 MOVM A,X
01000 ASH A,-5
01100 ANDI A,37
01200 IORI A,100
01300 OUTCHR A
01400 JRST @ARDS
00100 X1←2
00200 Y1←3
00300 X3←10
00400 Y3←11
00500 II←12
00600 A1←13
00700 A2←14
00800 A3←15
00900 BYPASS: 0 ;BYPASS OCCULT LINE ELIMINATION
01000 MOVE A1,NUMTRI
01100 MOVEI A2,INPUT6
01200 LOOP3: SKIPN A1
01300 JRST [ MOVEI INPUT6
01400 MOVEM INPUT6
01500 HLRZ A1,A2
01600 MOVNS A1
01650 SOS A1
01700 HRLM A1,INPUT6
01800 JRST @BYPASS]
01900 SOS A3,A1
02000 IMULI A3,5
02100 ADDI A3,INPUT3
02200 HLRE X1,0(A3)
02300 HRRE Y1,0(A3)
02400 HLRE X2,1(A3)
02500 HRRE Y2,1(A3)
02600 HLRE X3,2(A3)
02700 HRRE Y3,2(A3)
02800 HRRZ II,4(A3)
02900
00100 DEFINE PUTOUT $ (N,M)
00200 {
00300 PUSH A2,N-1(A3)
00400 SUB X$M,X$N
00500 SUB Y$M,Y$N
00600 HRL Y$M,X$M
00700 PUSH A2,Y$M
00710 HLRE X$M,M-1(A3)
00720 HRRE Y$M,M-1(A3)
00800 ⎇
00900
03000 TRNE II,4
03100 JRST [
03150 PUTOUT 2,3
03175 JRST .+1]
03200 TRNE II,2
03300 JRST [
03350 PUTOUT 1,3
03375 JRST .+1]
03400 TRNE II,1
03500 JRST [
03550 PUTOUT 1,2
03575 JRST .+1]
03600 JRST LOOP3
03700
04200 END